There are various reasons for applying a code to an electromagnetic signal to be transmitted. In many cases the reasons have to do with the fact that an appropriate receiving party who knows the code—but only that party—can retrieve information from the received signal better than if no code was applied.
FIG. 1 illustrates a communications application, in which a transmitter 101 generates a time-discrete signal S=s(t) to be transmitted to the receiver 111. The transmission will take place through a transmission channel, where effects like interference, attenuation, fading and multipath propagation will cause distortions. Additionally it may be desirable to keep unauthorised third parties from receiving the signal. In order to compensate for distorting effects and/or to make unauthorised reception difficult, an encoding unit 102 of the transmitter 101 employs a code C to produce an encoded signal C(S). A decoding unit 112 of the receiver employs an inverse code C−1 to cancel the effect of coding, so that as a result the original signal S is produced. In many cases of digital coding the inverse is the same as the original code, i.e. C−1=C, or a time inverse of the original code, i.e. C−1(t)=C(−t).
FIG. 2 illustrates a remote sensing application, in which the purpose is to detect some features of a target 221 by using a transmitter 201 to transmit electromagnetic radiation towards the target 221 and a receiver 211 to receive a reflected or scattered signal from the target 221.
From the viewpoint of signal generation there are significant differences between communication and remote sensing applications. In communications, the contents of the original signal to be transmitted cannot be predicted beforehand: the original payload signal may resemble a random bit stream, the contents of which the receiving device should find out without prior knowledge. In some cases some prior knowledge can be applied; for example, if the original transmission is known to be text on a particular language, the typical occurrence frequency of characters and/or words in that language could be used. The coded transmission signal is produced as a convolution of said apparently random bit stream with the known form of the code.
In remote sensing applications the original signal to be transmitted is essentially only the code C, the form of which is a priori known to both the transmitter 201 and the receiver 211. The unknown information which the receiving device should retrieve is ultimately the spatial (and, in some cases, temporal) distribution of some characteristic of interest in the target 221, which manifests itself through some measurable interaction with the transmitted electromagnetic radiation. What arrives at the receiver 211 is the result of the transmitted code C interacting with the target characteristics distribution S. It can be thought of as a convolution C*S, from which the receiver should retrieve S by applying its knowledge about C. Later in this description we show that incoherent scattering from the target requires more detailed analysis.
For example in many radar applications the target 221 is actually a distribution of reflectivity values at different distances. Range resolution could be enhanced by only transmitting a very short radar pulse and by observing the arrival of echoes from different distances. This would lead to uneconomical use of the radar duty cycle and decrease the mean received power. A better solution in a simple case is to use a coding filter (or code generator) 202 in the transmitter and a corresponding decoding filter 212 in the receiver to apply a phase-modulated pulse code to the transmitted radar signal and to derive the distribution of reflectivity values as a function of distance by convolving the received signal with the impulse response of a suitable reception filter. In more complicated cases, for example if in the detection of fast moving targets that do not have constant Doppler shift, the trajectory of the target must be estimated in addition to its range. In those cases a maximum likelihood estimated can be formulated on the basis of e.g. a grid search or a gradient search. Matrix formulae exist for processing the amplitude results of incoherently scattering targets. In addition to or in place of phase modulation, also other modulation principles like amplitude or frequency modulation could be used.
An important similarity in communication and remote sensing applications is the reliance on the orthogonal properties of the code. In communications, random noise and simultaneous other transmissions coded with different codes will not correlate with the coded form of the transmission signal, so the inverse coding (i.e. decoding) operation at the receiver will cause them to cancel out. In remote sensing, interactions of the same coded transmission signal with different parts of the target (e.g. reflectivity at a different range) will similarly cancel out due to code orthogonality, if the differently received versions of the code can be separated sufficiently well in the received composite signal.
The goodness of a code for purposes like those illustrated above can be measured in multiple ways. As an example of using the autocorrelation properties of the code, let us consider the so-called Barker codes originally introduced in Barker, R. H.: “Group Synchronizing of Binary Digital Systems”, in: Communications Theory, edited by Jackson, W. Academic Press, New York, 273-287, 1953. Known Barker codes are finite bit sequences that have been shown to be the most efficient binary codes using single code sequences. The autocorrelation function of each Barker code has a central peak and a number of sidelobes on each side of it. The peak-to-sidelobe ratio equals the length of the Barker code in bits.
The use of a matched filter is a known technique for receiving coded transmissions. A matched filter is one that maximises the output signal-to-noise ratio in the presence of additive stochastic noise. The matched filter that corresponds to a known binary code has an impulse response that is a time-reversed and conjugated version of the transmitted coded signal. In digital signal processing the use of a matched filter has the advantages that the filter has a finite length and filtering is readily implemented with a number of logical operations; on the other hand the effect of sidelobes in the autocorrelation function just has to be accepted.
A patent publication number US 2010/0109929 A1 discloses so-called perfect codes, which have the characteristic that if the code has sufficiently many elements, the values of which can be selected from a number spaces larger than just binary values, the code can be made to have arbitrarily small sidelobes in its autocorrelation function.
A technique known as mismatched filtering has been described in publications like Lüke, H. D.: “Mismatched filtering of periodic quadriphase and 8-phase sequences”, IEEE Transactions on Communications, Vol. 51, No. 7, July 2003, and Damtie, B., Lehtinen, M., Orispää, M., Vierinen, J.: “Mismatched filtering of aperiodic quadriphase codes”, IEEE Transactions on Information Theory 54 (2008), no. 4, 1742-1749. The convolution of the impulse response of the mismatched filter with the transmission code produces a weight function with no sidelobes. A mismatched filter can be calculated for practically any code, with the merely theoretical exception that the Fourier transform of the code must not have any zeroes. Another merely theoretical drawback of mismatched filters is that the impulse response of a properly calculated mismatched filter has an infinite number of nonzero elements. A yet another drawback of mismatched filters is that they do not achieve the optimal signal-to-noise ratio (SNR) of matched filters.
Despite of the many advantages of code design, mismatched filtering, and other approaches, there remains the need for codes that would be practical to use in a variety of applications based on electromagnetic transmissions, and that would have reasonably good autocorrelation properties.